package cn.test.my.excel.poi.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

import cn.test.my.excel.poi.PoiConstants;


/**
 * 设置excel导出样式
 *
 * @author jiema
 * @since 2020/5/27 15:42
 */
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
public @interface SetCellStyle {

	/**
	 * 字段名
	 */
	String columnName();

	/**
	 * 单元格宽度
	 */
	int columnLength() default 4000;

	/**
	 * 数字保留位数
	 * eg:0.00 保留两位/0.0000 保留四位
	 * 根据poi HSSFDataFormat format = workbook.createDataFormat();
	 * styles[i].setDataFormat(format.getFormat("0.00"));
	 */
	String numberScale() default "";

	/**
	 * 排序（降序）,sort不能超过1000,查过就是排在最后了
	 */
	int sortNum() default PoiConstants.SORT_NUM;

	/**
	 * 时间格式 "yyyy-MM-dd"
	 */
	String datePattern() default "yyyy-MM-dd";

	/**
	 * 数字格式化
	 * 0-"General"
	 * 1-"0" 2-"0.00"
	 * 3-"#,##0"
	 * 4-"#,##0.00"
	 * 9-"0%"
	 * 0xa-"0.00%"
	 * 同时使用numberScale 和 amtPattern 会导致数字格式化失效
	 */
	short amtPattern() default 0;

	String ratePattern() default "";

	/**
	 *
	 */
	int index() default -1;

}